Micron Document
🌎 rns.kin.earth git 🌍

Node / dev / reticulum / commits / cd8fe95

Commit cd8fe95d91a0af25e12e477665b9a8bda1d2c82e


Parents : e2efc61
Author : Mark Qvist <mark@unsigned.io>
Date : 2024-11-21T12:10:21+01:00

Internal interface config handling for I2PInterface

Changes

2 files changed, 17 insertions(+), 28 deletions(-)


Diff

diff --git a/RNS/Interfaces/I2PInterface.py b/RNS/Interfaces/I2PInterface.py
index 64dee4ae..acd8a2ca 100644
--- a/RNS/Interfaces/I2PInterface.py
+++ b/RNS/Interfaces/I2PInterface.py
@@ -830,8 +830,17 @@ class I2PInterfacePeer(Interface):
class I2PInterface(Interface):
BITRATE_GUESS = 256*1000
- def __init__(self, owner, name, rns_storagepath, peers, connectable = False, ifac_size = 16, ifac_netname = None, ifac_netkey = None):
+ def __init__(self, owner, configuration):
super().__init__()
+
+ c = configuration
+ name = c["name"]
+ rns_storagepath = c["storagepath"]
+ peers = c.as_list("peers") if "peers" in c else None
+ connectable = c.as_bool("connectable") if "connectable" in c else False
+ ifac_size = c["ifac_size"]
+ ifac_netname = c["ifac_netname"]
+ ifac_netkey = c["ifac_netkey"]
self.HW_MTU = 1064

diff --git a/RNS/Reticulum.py b/RNS/Reticulum.py
index aabe76fa..8acf5e06 100755
--- a/RNS/Reticulum.py
+++ b/RNS/Reticulum.py
@@ -602,37 +602,17 @@ class Reticulum:
interface_post_init(interface)
if c["type"] == "I2PInterface":
- i2p_peers = c.as_list("peers") if "peers" in c else None
- connectable = c.as_bool("connectable") if "connectable" in c else False
-
- if ifac_size == None:
- ifac_size = 16
-
- interface = I2PInterface.I2PInterface(
- RNS.Transport,
- name,
- Reticulum.storagepath,
- i2p_peers,
- connectable = connectable,
- ifac_size = ifac_size,
- ifac_netname = ifac_netname,
- ifac_netkey = ifac_netkey,
- )
-
- if "outgoing" in c and c.as_bool("outgoing") == False:
- interface.OUT = False
- else:
- interface.OUT = True
-
if interface_mode == Interface.Interface.MODE_ACCESS_POINT:
RNS.log(str(interface)+" does not support Access Point mode, reverting to default mode: Full", RNS.LOG_WARNING)
interface_mode = Interface.Interface.MODE_FULL
-
- interface.mode = interface_mode
- interface.announce_cap = announce_cap
- if configured_bitrate:
- interface.bitrate = configured_bitrate
+ interface_config["storagepath"] = Reticulum.storagepath
+ interface_config["ifac_netname"] = ifac_netname
+ interface_config["ifac_netkey"] = ifac_netkey
+ interface_config["ifac_size"] = ifac_size
+
+ interface = I2PInterface.I2PInterface(RNS.Transport, interface_config)
+ interface_post_init(interface)
if c["type"] == "SerialInterface":
port = c["port"] if "port" in c else None

Served by rngit 1.5.2 - Generated in 0.05s